package be.ipl.finito.daoimpl;

import javax.ejb.Stateless;

import be.ipl.finito.dao.JoueurDao;
import be.ipl.finito.domaine.Joueur;
import be.ipl.finito.exceptions.InscriptionImpossibleException;

@SuppressWarnings("serial")
@Stateless
public class JoueurDaoImpl extends DaoImpl<Integer, Joueur> implements
		JoueurDao {

	@Override
	public Joueur connecter(String login, String mdp) {
		String queryString = "select j from Joueur j where j.login = ?1 and j.password = ?2";
		return recherche(queryString, login, mdp);
	}

	@Override
	public Joueur inscrire(Joueur joueur) throws InscriptionImpossibleException {
		String queryString = "select j from Joueur j where j.login = ?1";
		if (recherche(queryString, joueur.getLogin()) != null) {
			throw new InscriptionImpossibleException(
					"Ce login est deja utilise, veuillez en choisir un autre.");
		}
		return enregistrer(joueur);
	}

}
